home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Windows Game Programming for Dummies (2nd Edition)
/
WinGamProgFD.iso
/
mac
/
DirectX SDK
/
DXSDK
/
samples
/
Multimedia
/
Direct3D
/
DXTex
/
dxtexview.h
< prev
next >
Wrap
C/C++ Source or Header
|
2001-10-08
|
5KB
|
128 lines
// dxtexView.h : interface of the CDxtexView class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_DXTXVIEW_H__712C53D1_D63B_11D1_A8B5_00C04FC2DC22__INCLUDED_)
#define AFX_DXTXVIEW_H__712C53D1_D63B_11D1_A8B5_00C04FC2DC22__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CDxtexView : public CScrollView
{
protected: // create from serialization only
CDxtexView();
DECLARE_DYNCREATE(CDxtexView)
CDxtexDoc* GetDocument();
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDxtexView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual void OnInitialUpdate();
protected:
virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CDxtexView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
BOOL TitleModsChanged(VOID) { return m_bTitleModsChanged; }
VOID ClearTitleModsChanged(VOID) { m_bTitleModsChanged = FALSE; }
CString GetStrTitleMods(VOID);
VOID GetImageInfo(CString& strInfo);
// Generated message map functions
protected:
//{{AFX_MSG(CDxtexView)
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnFileOpenSubsurface();
afx_msg void OnFileOpenAlphaSubsurface();
afx_msg void OnFileOpenFace();
afx_msg void OnFileOpenAlphaFace();
afx_msg void OnViewOriginal();
afx_msg void OnViewCompressed();
afx_msg void OnViewAlphaChannel();
afx_msg void OnViewLargerMipLevel();
afx_msg void OnViewSmallerMipLevel();
afx_msg void OnViewZoomIn();
afx_msg void OnViewZoomOut();
afx_msg void OnViewChangeBackgroundColor();
afx_msg void OnViewNegX();
afx_msg void OnViewPosX();
afx_msg void OnViewNegY();
afx_msg void OnViewPosY();
afx_msg void OnViewNegZ();
afx_msg void OnViewPosZ();
afx_msg void OnViewHigherVolumeSlice();
afx_msg void OnViewLowerVolumeSlice();
afx_msg void OnUpdateFileOpenSubsurface(CCmdUI* pCmdUI);
afx_msg void OnUpdateFileOpenAlphaSubsurface(CCmdUI* pCmdUI);
afx_msg void OnUpdateFileOpenFace(CCmdUI* pCmdUI);
afx_msg void OnUpdateFileOpenAlphaFace(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewOriginal(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewCompressed(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewAlphaChannel(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewLargerMipLevel(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewSmallerMipLevel(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewZoomIn(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewZoomOut(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewNegX(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewPosX(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewNegY(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewPosY(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewNegZ(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewPosZ(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewHigherVolumeSlice(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewLowerVolumeSlice(CCmdUI* pCmdUI);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
HRESULT UpdateDevice(VOID);
HRESULT RenderScene(VOID);
CDxtexApp* PDxtexApp(VOID) { return (CDxtexApp*)AfxGetApp(); }
HRESULT BuildViewSurface(BOOL bOrig, D3DCUBEMAP_FACES FaceType, LONG lwSlice, LONG lwMip, BOOL bViewAlpha);
HRESULT LoadSurfaceFromVolumeSlice(LPDIRECT3DVOLUME8 pVolume, UINT iSlice, LPDIRECT3DSURFACE8 psurf);
DWORD NumBytesInSurfaces(D3DCUBEMAP_FACES FaceType, LPDIRECT3DBASETEXTURE8 ptex);
HRESULT CreateVertexBuffer(VOID);
CString FormatName(D3DFORMAT fmt);
LPDIRECT3DVERTEXBUFFER8 m_pVB;
LPDIRECT3DTEXTURE8 m_ptexCur; // Currently-viewed texture surface
LPDIRECT3DSWAPCHAIN8 m_pSwapChain;
CRect m_rcSrc; // Size of m_pddsCur and m_pddsBack
CRect m_rcDest; // m_rcDest scaled by m_fZoom
FLOAT m_fZoom; // Zoom factor
BOOL m_bViewOrig; // View "original" vs. "new" surface
BOOL m_bViewAlpha; // View alpha channel alone vs. normal image
BOOL m_bTitleModsChanged; // Whether title bar text modifiers need to be updated
LONG m_lwMipCur; // Currently-viewed mip. 0 = top, 1 = next one down, etc.
D3DCUBEMAP_FACES m_CubeFaceCur; // D3DCUBEMAP_FACE_FORCE_DWORD = no cube map, or D3DCUBEMAP_FACE_POSITIVE_X, etc.
LONG m_lwSliceCur; // For volume maps
DWORD m_dwClearColor; // Background color that will show through where alpha is non-opaque
};
#ifndef _DEBUG // debug version in dxtexView.cpp
inline CDxtexDoc* CDxtexView::GetDocument()
{ return (CDxtexDoc*)m_pDocument; }
#endif
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DXTXVIEW_H__712C53D1_D63B_11D1_A8B5_00C04FC2DC22__INCLUDED_)